﻿using System;
using System.Data;
using System.Data.SqlClient;
using consultasSql;
using consultasSql.consultasVarias;
using ot;
using validarDatos;

public partial class Stdby_OrdenTrabajo_ingresoOrdenTrabajo_motivoModificacion : System.Web.UI.Page
{

    /*Mensajes*/

    private void mostrarMensaje(string mensaje)
    {
        System.Text.StringBuilder sbMensaje = new System.Text.StringBuilder();

        sbMensaje.Append("<script type='text/javascript'>");
        sbMensaje.AppendFormat("alert('{0}');", mensaje);
        sbMensaje.Append("</script>");
        ClientScript.RegisterClientScriptBlock(this.GetType(), "Mensaje", sbMensaje.ToString());
    }


    /*-----------*/

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string nroOt = Request.QueryString["nroOt"];

            if (!String.IsNullOrEmpty(nroOt.Trim()))
            {
                if (comprobarExiste(nroOt))
                {
                    cargarCampos(Convert.ToInt32(nroOt.Trim()));
                    txtNroOt.Text = nroOt.Trim();
                }
                else
                {
                    mostrarMensaje("El Nº de OT no es válido.");
                }
            }
            else
            {
                mostrarMensaje("El Nº de OT no es válido.");
            }
        }

    }


    /*Compruebo si existe y es valido el número de orden de trabajo*/
    private bool comprobarExiste(string nroOt){
       bool bandera = false;

       if (CValidaDatos.validaEntero(nroOt.Trim()))
       {
            if (comprobarNroOt(nroOt))
            {
                bandera = true;
            }
        }

        return bandera;
    }

    private bool comprobarNroOt(string dato)
    {
        SqlCommand command = new SqlCommand();

        command.CommandType = CommandType.Text;
        command.CommandText = "IF EXISTS (SELECT 1 FROM OTCab WHERE Id = @dato) SELECT 1 ELSE SELECT 0";

        command.Parameters.Clear();

        command.Parameters.AddWithValue("@dato", dato.Trim());


        DataTable dt = new CDarDataSet().darDataTable(command);


        if (dt != null)
        {
            try
            {
                if (dt.Rows[0][0] != null)
                    return Convert.ToBoolean(dt.Rows[0][0]);
                else
                    return false;
            }
            catch { }

        }

        return false;
    }


    //cargo el motivo
    private void cargarCampos(int Id)
    {
        try
        {
            string consulta = "SELECT MotivoModificacion FROM OtCab WHERE Id = @Id";

            SqlCommand command = new SqlCommand();


            command.CommandType = CommandType.Text;
            command.CommandText = consulta;

            command.Parameters.Clear();

            command.Parameters.AddWithValue("@Id", Id);


            DataTable tabla = new CDarDataSet().darDataTable(command);

            txtMotivoModificacion.Text = tabla.Rows[0][0].ToString();

        }
        catch { }

    }


    //guardo modificaciones
    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        if (comprobarCampos())
        {
            updateInsert();
        }
    }


    //comprobar campos
    private bool comprobarCampos()
    {
        lblMotivoModificacion.Visible = false;

        txtMotivoModificacion.ToolTip = null;

        bool bandera = true;

        try
        {
            if (!CValidaDatos.validaPalabras(txtMotivoModificacion.Text.Trim()))
            {
                txtMotivoModificacion.ToolTip = CMensajes.mensajeValidaPalabra();
                lblMotivoModificacion.Visible = true;
                bandera = false;
            }

        }
        catch
        {
            bandera = false;
        }

        return bandera;
    }


    //update o insertObjeto_Accesorios
    private void updateInsert()
    {
        try
        {

            if (!String.IsNullOrEmpty(txtNroOt.Text.Trim()))
            {
                CMotivoModificacion objeto = new CMotivoModificacion();

                objeto.IdOtCab = Convert.ToInt32(txtNroOt.Text.Trim());

                objeto.motivoModificacion = txtMotivoModificacion.Text.Trim();


                CConsultaMotivoModificacion consulta = new CConsultaMotivoModificacion();

                if (consulta.update(objeto))
                {
                    mostrarMensaje(CMensajes.mensajeOperacionExitosa());
                }
                else
                {
                    mostrarMensaje(CMensajes.mensajeOperacionFallida());
                }
            }

        }
        catch
        {
            mostrarMensaje(CMensajes.mensajeOperacionFallida());
        }
    }

}